In medical imaging post-processing environments, direct volume rendering of three-dimensional (3D) datasets allows an analysis of previously scanned objects. Direct volume rendering describes a number of visualization algorithms that range from classical volume rendering with a simple local shading model up to photorealistic shading that closely mimics light physics and takes global illumination requirements into account.
These visualization algorithms include the solving of mathematical volume rendering equations where transfer functions (e.g., a volume transfer function) and volume data are used as inputs. The transfer function takes color and extinction densities as input parameters. The transfer function provides a segmentation of a volume dataset, such that only some regions of the volume dataset are visible, while other regions of the volume dataset are implicitly removed from visualization. The transfer function also allows a classification of the volume dataset, where voxel values are mapped to different color and transparency properties.
The transfer function is specified as a function of physical values, which provides that all voxels that have a same physical value have the same segmentation and classification properties. Since different types of tissue may have the same physical values, such different types of tissue may not be separated using the transfer function alone.
An approach to separate the different types of tissue is to use binary segmented volumes. Subsets of voxels are combined into a binary voxel mask, forming a binary segmented volume that has a corresponding transfer function that is independent from the volume transfer function. During volume rendering, all segmented volumes having a corresponding transfer function are taken into account. With such an approach, the segmentation of the volume dataset is no longer defined by the volume transfer function alone, but is defined by a combination of binary masks and transfer functions.
With volume rendering using binary segmented volumes, issues may arise at boundaries of a binary mask. Since the binary mask may be on a voxel size level, the boundary of such a mask may be blocky without a boundary smoothing mechanism. Also, trilinear or higher interpolation of voxel values near a mask boundary involves interpolation of voxels that belong to different segmentations, resulting in interpolated values that may have no physical meaning. This may result in color classifications that show a color that is outside the classification of the segmented tissue (e.g., color bleeding).
Color bleeding for segmented volumes may be avoided by converting a voxel representation of the volume into a representation where local blocks of voxels are transformed into a representation including a plane equation and two constant values. Each of the two constant values represents an average of the local voxel block for one side of the plane. The transformed representation of the dataset (e.g., a split voxel representation of the dataset) is then used during volume rendering. The local planes of the split voxel representation of the dataset are aligned with the binary volume boundary, such that when the transformed representation of the dataset is used during volume rendering, the resulting images no longer exhibit color bleeding since no interpolation is performed across the boundary mask plane.